A network is a communications facility that permits a number of workstations, computers or other equipment (hereinafter collectively "computer(s)") to communicate with each other. Portions of a network involve hardware and software, for example, the computers or stations (which individually may comprise one or more central processing units, random access and persistent memory), the interface components, the cable or fiber optics used to connect them, as well as software that governs the access to and flow of information over the network. In networks in which data flow is 100 Mbits/sec. ("Mbps") or higher, the transmission medium is often fiber optics. In networks in which a slower data rate is acceptable, e.g., 10 Mbps, the transmission medium may be coaxial cable or, as is often the case for an Ethernet network, twisted wires.
In a network, network architecture defines protocols, message formats and other standards to which the computers and other equipment, and software must adhere. Most network architectures have adopted a model comprising functional layers in which a given layer is responsible for performing a specific set of functions, and for providing a specific set of services. Thus, the services provided by each layer and the inter-layer interfaces can define a network architecture. Protocols define the services covered across a layer interface and the rules followed in the processing performed as a part of that service.
Several organizations have proposed models and standards that have been accepted within the networking community. The International Standards Organization ("ISO"), for example, has proposed a seven layer reference model for computer networking that is called the open systems interconnect ("OSI") architecture. Another set of standards has been promulgated by the Institute of Electrical and Electronics Engineers ("IEEE") set of proposed local area network ("LAN") standards known as IEEE Project 802. This model conforms to the seven-layer OSI model, but directly solely to the lowest two OSI layers, namely the physical layer and the data link layer.
FIG. 1A depicts a network according to the IEEE Project 802 modification to the ISO seven layer model, in which two computers 10, 10' are can communicate data to each other over a physical link medium 20, e.g., cable. In practice, a repeater system 120 may be coupled in series with cable 20, the distances between a computer and repeater being D1 and D2. If there are no repeaters, the distance between computers 10, 10' is given by D1+D2. Of course, in practice, a network may have many hundreds of computers rather than two, and the distance D1+D2 separating adjacent computers may vary from a few meters to many Kms. For a computer network implemented within a single office building, separation distances D1+D2 of perhaps 200 m are typical.
The bottommost layer 30 in both the ISO and Project 802 model is a physical layer that is concerned with connections between two machines (e.g., computers 10, 10') to allow transmission of bit streams over a physical transmission medium (e.g., cable 20). Thus, physical layer 30 is concerned with types of cabling, cable plugs, connectors, and the like.
As will be described shortly, the present invention is directed to Ethernet networks adhering to the carrier sense multiple access with collision detection ("CSMA/CD") standard. In the 802 model for CSMA/CD, a Media Independent Interface ("MII") standard exists for the reconciliation sublayer 40 interface between physical layer 30 and a media access control ("MAC") sublayer 50B.
Under MII, data and delimiters are synchronous to the corresponding clock, and two asynchronous media status signals are provided, namely carrier sense ("CRS"), and collision ("COL"). MII provides a two wire serial management interface for control and status gathering, namely management data clock ("MDC"), and management data input/output ("MDIO"). In the OSI seven-layer model, the layer above the physical layer is a data link layer that is responsible for error-free transmission of data frames between network nodes. A data link control protocol describes operation and interfaces of this layer, which must also shield higher layers in the model from concerns about the physical transmission medium.
But in the 802 model shown in FIG. 1A, the data link layer is subdivided into MAC layer 50B and an overlying logical link control ("LLC") layer 50A. The media access control sublayer is concerned with access control methods to determine how to control the use of the physical transmission medium. The LLC sublayer 50A is responsible for medium-independent data link functions and allows the network layer 60 above to access LAN services independently of how the network is implemented. According to the 802 architecture, LLC sublayer 50A provides services to network 60 in the same fashion as would a conventional data link protocol in a wide area network.
The MAC sublayer 50B provides services to the overlying LLC sublayer 50A, and manages sharing of the transmission medium among the different stations on the network. A media access management function receives a frame from the data encapsulation function after the necessary control information has been added. Thereafter, media access management is responsible for ensuring physical transmission of the data. The data frame in an Ethernet full-duplex environment has a maximum size of 1,518 bytes.
Several 802 standards exist for MAC sublayer 50B, but only the carrier sense multiple access with collision detection ("CSMA/CD") standard is relevant to the present invention, more specifically the 802.3 standard. The existing 802.3 MAC standard presently contains several mechanisms for performing flow control in a half-duplex environment, including a Deference process, and WatchForCollision and BackOff procedures. CSMA/CD defines data encapsulation/decapsulation and media access management functions performed by MAC sublayer 50B itself, the data encoding/decoding function being performed by underlying physical layer 30.
Physical transmission of the data may be ensured using carrier sensing to defer transmission until the network is clear. In brief, a transmitting station (e.g., computer or user 10) listens or monitors the transmission medium (e.g., cable 20) before transmitting to determine whether another station (e.g., computer or user 10') is currently transmitting a message, e.g., to learn whether the medium is free. Using the services of the physical layer 30, the media access management determines whether the transmission medium (or carrier) is presently being used. If the medium is not being used, media access management passes the data frame to physical layer 30 for transmission. Even after transmission of the frame has begun, media access management continues to monitor the carrier. If the carrier is busy, media access management continues monitoring until no other stations are transmitting. Media access management then waits a specified random time to allow the network to clear and thereafter begins transmission.
But other station(s) having messages to send may all listen simultaneously, discern that the transmission medium appears quiet, and begin to transmit messages simultaneously. The result is a collision and garbled messages. If signal collision is detected, receiving stations ignore the garbled transmission, transmitting stations stop transmitting messages immediately and transmit a jamming signal over the medium. Following collision, each transmitting station will attempt to retransmit after waiting for a random backoff-delay time period for the carrier to clear. Thus, a station transmitting must listen sufficiently long to ensure that collision has not occurred.
In FIG. 1A, network layer 60 concerns the routing of data from one network node to another. It is the role of network layer 60 to route data between network nodes.
Transport layer 70 provides data transfer between two stations at an agreed upon level of quality once a connection is established between the stations. Transport layer 70 selects the particular class of service to be used, monitors transmission to ensure maintained service quality, and advises the stations (or users) if quality cannot be maintained.
Session layer 80 provides services that organize and synchronize a dialogue occurring between stations, and manages data exchange between stations. As such, session layer 80 controls when stations can send and receive data, based upon whether they can send and receive concurrently or alternately.
Presentation layer 90 ensures that information is presented to network users meaningfully, and may provide character code translation services, data conversion, data compression and expansion services.
Application layer 100 provides a mechanism for application processes to access system interconnection facilities for information exchange. The application layer provides services used to establish and terminate interuser connections, and to monitor and manage the interconnected systems and the resources they employ.
In general, the network shown in FIG. 1A may be half-duplex (or shared), or full-duplex. In half-duplex, there is a single shared communications path, and at any given time a station can transmit and monitor, or can receive, but can never simultaneously transmit and receive. In a half-duplex environment, MAC layer 50B uses a CSMA/CD algorithm, e.g., IEEE 802.3, such that a station desiring to use the network to transmit must first listen to learn whether the network is busy. If busy, the station desiring to transmit defers transmission but continues to monitor medium status while waiting for the network to become idle. If idle, the station can begin transmitting. While transmitting, the station continues to monitor the network to ensure that another station does not also begin to transmit at the same time, or transmit in an overlapping fashion, e.g., to ensure there is no collision. Similarly, when a station receives data, it is inhibited from simultaneously transmitting.
The present invention is intended for use with half-duplex networks, but is fully compatible with full-duplex networks.
The CSMA/CD algorithm provides a useful pacing mechanism that will inhibit or defer access of arrival new data into the half-duplex network until the network is adequately prepared.
FIGS. 1B and 1C depict CSMA/CD topologies that are found in half-duplex Ethernet network environments. Repeater system 120 topology of FIG. 1B includes a 100 Mb/sec. repeater 130 that is coupled to 10/100 switches 140, 142, and to 100/1 switches 150, 152. Repeater 130 can handle a 100 Mb/sec. flowrate that is suitable for high end desktop computers, while switches 140, 142 handle a 10 Mb/sec. flowrate more appropriate to low end desktop computers. If present, switches 150, 152 handle 1 Mb/sec. flowrates suitable for even lower end systems. The topology of FIG. 1B uses CSMA/CD in a single repeater collision domain within a server room environment.
FIG. 1C depicts a repeater system 120 topology that includes 100 Mb/sec. repeaters 130, 132, 10/100 switches 140, 142, and a 100 Mb/sec. switch 160. The 100 Mb/sec. flowrate available from switch 160, and from repeaters 130, 132 is appropriate for high end desktop computers, while the slower 10 Mb/sec. flowrate available from switches 140, 142 is more appropriate to low end desktop computers.
Although it would be beneficial to use faster repeaters and switches in the topologies of FIGS. 1B and 1B to handle 1000 Mb/sec. signals, the resultant network would not function at 200 m distances, according to the prior art. Indeed, even if repeater and switch transmission rates were increased ten-fold in the configurations of
FIGS. 1B and 1C, at a 1000 Mb/sec. flowrate, the maximum transmission distance D1+D2 (the "diameter") would only be about 20 m. The topologies of FIGS. 1B and 1C are symmetrical or bidirectional in the sense that signal flow can be in a left-to-right direction, or in a right-to-left direction.
FIG. 1D depicts the packet format used by prior art Ethernet systems such as that shown in FIG. 1A. A carrier event is defined as the sum of time needed to transmit a preamble, a start frame delimiter ("SFD"), a 6-byte destination address ("DA"), a 6-byte source address ("SA"), a 2-byte type/length field, a data field, and a 4-byte frame check sequence ("FCS") error detection field.
The present invention is directed to the difficulties encountered in Ethernet networks when data, such as the packet shown in FIG. 1D, is to be transmitted at high flowrates over long distances. The CSMA/CD access method relies upon a fundamental assumption that round trip ("R/T") propagation delay in a network is less than the time required to transmit the smallest allowable packet of information. The time required to transmit a packet is inversely proportional to transmission rate. Thus, if transmission rates are increased, then Ethernet distances must shrink in size.
At a 10 Mb/sec. (10 million bits/second) transmission rate, the maximum diameter (D1+D2) of an Ethernet network is limited to 2.5 Km., e.g., the length of linkage 20 in FIG. 1A cannot exceed this distance. If the transmission rate is increased to 100 Mb/sec., the physical size must shrink to approximately 205 m. By extrapolation, if a transmission rate of 1000 Mb/sec. (i.e., 1 gigabit/sec) could be achieved, the maximum network size would shrink to about 20 m, an impractically small size, especially as standard commercial building wiring practices require a network diameter of up to at least 200 m. Unfortunately, according to the prior art, a 200 m network distance would preclude a 1000 Mb/sec. flowrate Ethernet operating in a building whose network cabling was constructed in accordance with standard practices.
Thus, there is a need for a mechanism by which the size of a 1 gigabit/sec. Ethernet network may be extended to cover at least a 200 m limit required by standard building wiring practices. Such mechanism should be backward compatible with 10 Mb/sec. and 100 Mb/sec. systems, and should be compatible with full-duplex as well as half-duplex systems.
The present invention discloses such an mechanism.